package com.ruoyi.common.core.domain.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 录音文件上传记录对象 ai_recording_main
 *
 * @author ruoyi
 * @date 2025-03-06
 */
@Data
public class AiRecordingMain extends BaseEntity
{
    private static final long serialVersionUID = 1L;


    /**  */
    private Long id;

    /** 录音文件地址 */
    @Excel(name = "录音文件地址")
    private Long fileId;

    /** 文字记录 */
    @Excel(name = "文字记录")
    private String transcript;

    /** 语种 */
    @Excel(name = "语种")
    private String languages;

    /** 状态 上传成功初始化为0，讯飞解析完为1，段落分完提交为2，deepseek分析完为3，，，，，，目前3就是最终状态 */
    @Excel(name = "状态 上传成功初始化为0，讯飞解析中为1  deepseek排序中2   解析完成3   ，段落分完提交为4，deepseek分析中为5，，，，，，")
    private String status;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 讯飞订单id */
    @Excel(name = "讯飞订单id")
    private String orderId;

    /** 现在的批次id */
    @Excel(name = "现在的批次id")
    private String batchId;


    @TableField(exist = false)
    private List<AiRecordingChild> aiRecordingChildList=new ArrayList<>();

    @TableField(exist = false)
    private List<AiRecordingDuan> aiRecordingDuanList=new ArrayList<>();

    /** 第一次从deepseek拿到的分段建议 */
    @Excel(name = "第一次从deepseek拿到的分段建议")
    private String rangeStrs;


    /** 用户id */
    @Excel(name = "用户id")
    private Long userId;

    /** 创建人部门id */
    @Excel(name = "创建人部门id")
    private Long deptId;

//    @TableField(exist = false)
    private String segmented;
    @TableField(exist = false)
    private List<String> filePathList=new ArrayList<>();

    /** 有效时长 分钟 */
    @Excel(name = "有效时长 分钟")
    private Double validTime;


    @TableField(exist = false)
    private Long  customerId;

    @TableField(exist = false)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date time;

    /** 是否已匹配，1为匹配了，默认为0 */
    @Excel(name = "是否已匹配，1为匹配了，默认为0")
    private String matching;
//    private Boolean segmented;
}
